package com.lagou.core;

import com.lagou.config.AppConfig;
import com.lagou.service.WebServerFactory;
import org.springframework.web.context.support.AnnotationConfigWebApplicationContext;

public class SpringApplication {

    public static void run() throws Exception {
        //1.初始化ioc
        // 为什么要先初始化ioc，而不是先启动tomcat，因为ioc是必须的，而tomcat可以被其他中间件替换
        AnnotationConfigWebApplicationContext ac = new AnnotationConfigWebApplicationContext();
        ac.register(AppConfig.class);   //手动去注册一个bean
        ac.refresh();                          //刷新
        //2.启动tomcat
        WebServerFactory factory = ac.getBean(WebServerFactory.class);
        factory.createServer();
        //3.将dispatcherServlet放入到ioc容器，并加载到tomcat上下文中去
        //注意dispatcherServlet不能放在启动里，因为也可以被reactive响应式编程替换掉servlet,也可以不是web项目
    }
}
